
console.log(`
CC8C8CC8C88CC8C88C88C8CC88C88G888CC88CGCCGGLfti::                                 
8CCCCC8CCCCCCCCCCCCCCCCGCCCCCCGGCGCCG8GCGCGCCGCCC8CCC8Gti                         
8CCGCCCCCGCCCCCCCCCCCGCCCCCCCGCGGCCGCC8CCCCCCCCCCCC8GCLC8C8CGi.                   
8CCGCCC8CCCCC8GCCG8CCCC8CCCCCCGCCC8CCCC8CCCCC8CCC8CCCGCCGC88GGC8Ci.               
8CCCCCCGCGCCCC8GCCCCC8CCCCCCCCCCCCCC8CCC8CCCGCCGCCCCCCCCCCGCCGCCCG8C;             
CCCCCCCCCCCCCCC8CCC8CCCCCCCCGCC8CGCCCCCCGCCCCCCCCCCCCGC8CCGCCC8CCCCCGCL:          
GCCCCCCCC8CCGC8CGCCC8CCCCGCCCCCCCCCCCCCCCCCCGCC8CCCCCCCG8GG8CCCCCCCCCGC8G,        
8GCCCCGCCC8GC8GCC8CCCCCCCCCCCGCCCCCGCG8CC8CCCCCC8CC8CGCCC8CCCGCCC8CGCCCCCCt       
8CC8GCCGCCC8CC8CGCGCCC8G8CCCCCGCCGCCCG8CC8GC8GCCCCCC8CC8CCCCCCCCCCCCCCCCGC8C:     
CG8GC8CC8CCC8CCC8GCCG8CCGCCGGCGGC8CGCGGCGGGCCG88C8CCC88CGCCCCCCCCCCCCGCCCG8C8i    
CCCCC8CCCGCCC8CGCCC8CGGCGCCCGCCGC8CCGCCCCCCC88CCCCC8GCCC8CCCCGCCCCCGCCGCCCCCCCt   
8CCGCC8CCCC8CCC8CCC8GG8C.                   ,1LCC8CGCG8CCCCC8CCCCCCCGCC8CCCGC8Ci  
CC8CG8CC8CCC8CGCC8G8CCC8,                        ,t8CGGCGCCCC8CCCGC8CCCCC8G8CG8C. 
8CG8CCCGCCCGCGCCCC8GCCCC:                          .;GC8GCCCCCCCCCC8CCGCCCCG8C8CL 
CCCCCCGCCCCGGCCCCC8CC8CC,                             LCCGC8CCCCCC8CCGCCG8CC8GGCC.
8CCCGCC8CGCCC8CCCGCGCCG8.                              CCGCG8CC8CCGCCGGCCCCG8CG8C1
8CCCCCC8CGCCGC8CCC8CCCCC,                              :CCCCC8CGCCCCCCC8CCC8GCCCCf
8CGCCCCC8CCCCCCGCG8CCCCC,                               8CC8CGCCC8CCCCC8CC8CGCCCCG
8CC8GCGCCGCCGCCG8CGC8GG8,                               8CCC8CC8CGCCCGGC8CC8GC8CCC
8CCC8CCCCCCGCCCCGCCC8CCC,                              .CCGCC8CCC8CGCCCCCCCCCCCGCL
8G8CCCGCGCCCCCCCCCCC8CCC,                              1CCCC8CGGCC8GC8CCCCC8CC8CCf
8CG8CC8CCCCCCCC8CGCCCCCC,                             :C8CC8CCG8CCC8CCCCCCCCCC8CC;
0GCCC8CCCCCCCGCCCCCCCCGC,                            iCCGCGC8CCCCCCCCCCC8GCCCLC8C 
CC8CCG8CC8CGCCGCCCCC8CCC,                          ;CCCGCCCCCCCCCCCCCCC8CGCCCCCCi 
CCGCCCC8CCCCGC8GCCCC8CC8:                      ,1C8CCCCCCCCCCGCCCCCC8CCCCC8CCC8L  
GCCC8GCC8CCCCCCCCC8CCGCG:     .      .,,:1tLCC8CGCCCCGCCC8CGCGCCCC8GGCCCCCC8CG8   
CGCCGCGCGCCCGCG8CC8GCCC8CCG88C88G8C8CGCCCCCCCCGC8CGCCCGCGCC8CCGC8CCC8CCCC8GCCC    
GCCGCCG8CCCCCCCGCCCCGC8CCCGCCCCCC8CGCCCGCCCCCGCC8C8CCC8CGCGCCCCCCCCCCG8CCGC8L     
CCCCCCC8CC8GCC8CC8GGCCCC8CGCCCCCCCC8CCCCCC8CCCCCGCC8CGCCCCCCCCCCCCCGCCC8CGCi      
CGCCC8CC8CCCGCC8GCC8GCGCCGCCC8CC8CCCCCCC8CGCGCCCCCCCCCCCCCGCCCCCCG0LG8CCCf:       
CGGCC8CCGCCCCCCCCCCCGCCCCCC8CCC8CCCGCCGCCCCCCGCC8CGCCCCCCCCCCCGCCC8C8CGL.         
CCGCCCCGCGCCCCCCC8CGCGCCGCG8CCCCCCGCGCC8CCGGCCC8CCCCCG8CCG8CCGCCCC8CCt            
CCGCCCGC8GCCCCCCGC8CCCCCCCCGCCCCCC8CCCCC8CC8G8CCC8CCCCGCCCC8CCGCC8f,              
GCCCCCCCCCGCCCCCCCC8CCCCCGCCCC8G8C8CCCGC8CGCCGCCGCC8C8GGG8CCC8L:..                
LCC8GCCGCCG8GGCCCCCCGCCCGC8G8G8C8CCCC8G8CCCCCCCGC8CCCC8CGC1.                      
GCCC8CCCCCCCCCCCCCC88GG88GCCCCCCCCC8CCCCCGGCCCCCG8G1:                             
8CCCCCCCC8CC8CCCCCGCGG8G:                                                         
CCC8CCCCC8CCCCCCCC8CCCCC,                                                         
8CC8GCCCCCGCCCCC8CCCGCCC,                                                         
8CCC8CCCCCCCCCCCCCCGCCGC,                                                         
8CCCC8CCCCCCGCCCCCCCCCCC,                                                         
8CC8CCCGGC8CCCC8CCCC8CCC,                                                         
CG8CC8CCCCCCCCCCGCCCCGCG,                                                         
8CCC8GC8CCGCCCGCCCCC8CGC,                                                         
CCC8CCCCCGCCCCCC8GCCCCCC,                                                         
8CCG8CCCCCCCCCGCGC8CCCCC,                                                         
8C8CC8CCCCGCCCCCCC8CCCC8,                                                         
8CCCCCC8CCCGCGCGCG8GCCCC,                                                         
CCCCCCC8CCCCGCGCCC8C8CGC,                                                         
8GC8GC8CCCCCC8CCCG8CC8CC,                                                         
CCCGC8CC8CCCCC8CCC8CCGGC,                                                         
8CGCCGCCCCCCGCCCCC8CGCC8,                                                         
8C8CCCGCGCCCGCCCCC8CCCCC:                                                         

`);
console.log("欢迎使用PHP-helper")
var div_div_code = document.querySelector("#code_father");
div_div_code.setAttribute("style","float:right;height: " + (window.innerHeight -70) + "px; width:20%;");
//div_div_code.innerHTML = "<div id='code' onclick='fcolored_egg()'>aaa</div>";

function eee(){
    let test = document.getElementsByClassName('blocklySvg');
    console.log(test);
    for(var i=0;i<test.length;i++){
        test[i].setAttribute('width',window.innerWidth * 0.8 +'px');
        test[i].setAttribute('height',window.innerHeight -70 + 'px');
    }
    let testl = document.getElementsByClassName('blocklyMainWorkspaceScrollbar');
    console.log(testl);
    for(var i=0;i<test.length;i++){
        testl[i].style.transform = 'translate('+window.innerWidth * 0.8+'px, 0.5px)';
        testl[i].setAttribute('height',window.innerHeight*0.94);
    }
    let testll = document.getElementsByClassName('blocklyMainWorkspaceScrollbar');
    console.log(testll);
    for(var i=0;i<test.length;i++){
        testll[i].style.transform = 'translate(60.5px, '+window.innerHeight*0.86+'px)';
        //testll[i].setAttribute('height',window.innerHeight*0.94);
    }
}

function getClientHeight()
{
  var clientHeight=0;
  if(document.body.clientHeight&&document.documentElement.clientHeight)
  {
  	var clientHeight = (document.body.clientHeight<document.documentElement.clientHeight)?document.body.clientHeight:document.documentElement.clientHeight;
  }
  else
  {
  	var clientHeight = (document.body.clientHeight>document.documentElement.clientHeight)?document.body.clientHeight:document.documentElement.clientHeight;
  }
  return clientHeight;
}

function close(name){
    document.getElementById(name).setAttribute('open', false);
}

function open(name){
    document.getElementById(name).setAttribute('open', true);
}

function myUpdateFunction(event) {//实时代码生成
    var code = Blockly.PHP.workspaceToCode(workspace);
    document.getElementById('code').innerHTML = code;
  }
  //workspace.addChangeListener(myUpdateFunction);
  workspace.addChangeListener(myUpdateFunction);

function bushu(){//一键部署功能

    var a=confirm("请先复制好您生成的代码！！！！是否使用此功能，第一次使用需要下载peizhi.php！（请在官网进入使用手册下载）")
    if ((a === true)) {
var url = prompt('请输入您的服务器上的peizhi.php的URL！');
alertDiv(url);
//var myname = prompt('请输入您保存代码的文件名');
t();
copy('code');
$.post(url, {'name':myname, 'text':document.getElementById('code')});
    } else {
    }
}


function alertDiv(url){
    //创建div
    let alertBelowDiv = document.createElement("div");//创建最下面的div
    let alertContentDiv = document.createElement("div");//创建呈现内容的白色div
    let alertfrom = document.createElement("form");//创建文字div
    let filename = document.createElement("input");
    let text = document.createElement("textarea");
    let submit = document.createElement("button");
    alertfrom.style.action = url;
    alertfrom.style.method = "POST";
    filename.type = "text";
    filename.name = "name";
    filename.style.height = "13%";
    filename.style.width = "100%";
    filename.placeholder = "请输入您要保存的代码的文件名";
    text.name = "text";
    text.placeholder = "请输入您生成的代码！";
    text.style.width = "100%";
    text.style.height = "80%";
    submit.type = "submit";

    

    //获取body
    let body = document.body;
    //添加div
    body.appendChild(alertBelowDiv);
    alertBelowDiv.appendChild(alertContentDiv);
    alertContentDiv.appendChild(alertfrom);

    alertfrom.appendChild(filename);
    alertfrom.appendChild(text);
    alertfrom.appendChild(submit);

    alertBelowDiv.className="alertBelowDiv";
    alertContentDiv.className="alertContentDiv";
    submit.innerHTML="确定";
    //添加点击函数
    submit.onclick=function (){
//业务代码执行部分
this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
alertBelowDiv.style.display = "none";
    }
}


var readtext = "默认";
var colored_egg = 0;
function text(sHtml) {
    return sHtml.replace(/[<>&""]/g, function (c) { return { '<': '&lt;', '>': '&gt;', '&': '&amp;', '"': '&quot;' }[c]; });
}
function br(sHtml) {
    return sHtml.replace(/[<>&""]/g, function (c) { return { '<br>': '\\n' }[c]; });
}
function d_save() {//保存积木文件
    //1.输入文件名 并存储到一个变量中
    var myname = prompt('请输入文件名（不用加后缀）');
    //2.输出这个文件名
    alert(myname+".phr");
    d(save(), myname + '.phr', 'text/plain')
}

window.onbeforeunload=function(e){     
var e = window.event||e;  
e.returnValue=("确定离开当前页面吗？可能会导致您的数据丢失！！");
    }

function fcolored_egg() {//彩蛋
    console.log('+1');
    colored_egg = colored_egg + 1;
    if (colored_egg > 20) {
colored_egg = 0;
window.location.href = "./blockly/colored_egg/colored_egg.html";
    }
}
function html(str) {//将字符串反转义为html
    var arrEntities = { 'lt': '<', 'gt': '>', 'nbsp': ' ', 'amp': '&', 'quot': '"' };
    return str.replace(/&(lt|gt|nbsp|amp|quot);/ig, function (all, t) { return arrEntities[t]; });
}
function copy(copyId) {//复制
    var val = document.getElementById(copyId);
    window.getSelection().selectAllChildren(val);
    document.execCommand("Copy");
    
}
function save() {//将工作区转换为xml
    const xml = Blockly.Xml.workspaceToDom(workspace);
    const xmlText = Blockly.Xml.domToText(xml);
    console.log(xmlText);
    document.getElementById("code").innerHTML = text(xmlText);
    return xmlText;
}
function d(text, name, type) {//下载文件函数
    var a = document.getElementById("a");
    var file = new Blob([text], { type: type });
    a.href = URL.createObjectURL(file);
    a.download = name;
    a.dispatchEvent(new MouseEvent('click', { 'bubbles': false, 'cancelable': true }));
}

function make_html() {//转换为php代码
    Blockly.PHP['diycode'] = function(block) {
        var text_code = block.getFieldValue('code');
        // TODO: Assemble PHP into code variable.
        var code = text(text_code);
        return code;
      };
      Blockly.PHP['diycode2'] = function(block) {
        var text_code = block.getFieldValue('code');
      
        return [text(text_code), Blockly.PHP.ORDER_NONE];
      };
    const phpCode = Blockly.PHP.workspaceToCode(workspace);
    console.log(phpCode);
    document.getElementById("html_new").innerHTML = phpCode;
    return phpCode;
}

function t() {//转换为php代码
    Blockly.PHP['diycode'] = function(block) {
        var text_code = block.getFieldValue('code');
        // TODO: Assemble PHP into code variable.
        var code = text_code;
        return code;
      };
      Blockly.PHP['diycode2'] = function(block) {
        var text_code = block.getFieldValue('code');
      
        return [text_code, Blockly.PHP.ORDER_NONE];
      };
    const phpCode = Blockly.PHP.workspaceToCode(workspace);
    console.log(phpCode);
    document.getElementById("code").innerText = phpCode;
    return phpCode;
}
let obj = {
    findElem: function (name) {
        return document.querySelector(name)
    }
},
    div = obj.findElem('div'),
    input = obj.findElem('#file')
input.onchange = function () {
    let reader = new FileReader()
    reader.readAsText(this.files[0]);
    reader.onload = function () {
        readtext = this.result
        console.log(readtext)
        const xml = Blockly.Xml.textToDom(readtext)
        // 回显数据
        Blockly.Xml.domToWorkspace(xml, workspace)
    }
    const xml = Blockly.Xml.textToDom(readtext);
    // 回显数据
    Blockly.Xml.domToWorkspace(xml, workspace);
}

//窗口变化监听,避免resize多次执行卡顿
var resizeTimer = null;
//$(window).bind('resize', function () {
    //if (resizeTimer) clearTimeout(resizeTimer);
    //resizeTimer = setTimeout(function () {
        //console.log('修改尺寸ing')
        //var div_div_code = document.querySelector("#code_father");
        //div_div_code.setAttribute("style","float:right;height: " + (window.innerHeight -70) + "px; width:20%;");
    //}, 300);
//});